﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades1;
using SisVetDAO;

namespace Logica
{

    /// <summary>
    /// Clase que contiene implementa los metodos para isertar, modificar, mostrar o eliminar un Propietario
    /// </summary>
    public class PropietarioBLL 
    {
        /// <summary>
        /// Metodo que agrega un nuevo Propietario p.
        /// </summary>
        /// <param name="p">La p.</param>
        /// <returns></returns>
        public string Agregar(Propietario p)
        {
            string msg;
            IPropietarioDAO my = DAOPropietarioFactory.getDAOFactory("mysql").getPropietarioDAO();
            try
            {
                my.Conectar();
                my.Insertar(p);
                msg = "Se Guardó";
            }
            catch (Exception ex)
            {
                msg = ex.Message;
            }
            finally
            {
                my.Desconectar();
            }

            return msg;


        }

        /// <summary>
        /// Metodo que lista los Propietarios registrados.
        /// </summary>
        /// <returns></returns>
        public List<Propietario> GetPropietario()
        {
            List<Propietario> lst;
            IPropietarioDAO my = DAOPropietarioFactory.getDAOFactory("mysql").getPropietarioDAO();
            my.Conectar();
            lst = my.getTodos();
            my.Desconectar();
            return lst;
        }


        /// <summary>
        /// Metodo que actualiza un Propietario en especifico p.
        /// </summary>
        /// <param name="p">La p.</param>
        /// <returns></returns>
        public string actualizar(Propietario p)
        {
            string msg;
            IPropietarioDAO my = DAOPropietarioFactory.getDAOFactory("mysql").getPropietarioDAO();
            try
            {
                my.Conectar();
                my.actualizar(p);
                msg = "Se Actualizo";
            }
            catch (Exception ex)
            {
                msg = ex.Message;
            }
            finally
            {
                my.Desconectar();
            }

            return msg;
        }
    }
}
